package com.spar.openprojects.client;

import java.util.List;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.spar.openprojects.shared.BusinessPartner;
import com.spar.openprojects.shared.Member;
import com.spar.openprojects.shared.Order;
import com.spar.openprojects.shared.OrderItem;
import com.spar.openprojects.shared.Project;

public interface RemoteDataServiceAsync {
	void getProjects(Boolean active, Member user,
			AsyncCallback<List<Project>> callback);

	void getOrders(Project project, Member user,
			AsyncCallback<List<Order>> callback);

	void getBusinessPartners(Member user,
			AsyncCallback<List<BusinessPartner>> callback);

	void persistOrder(Order order, Member user, AsyncCallback<Order> callback);

	void deleteOrderItem(OrderItem orderItem, Member user,
			AsyncCallback<Void> callback);

	void readUser(AsyncCallback<String> callback);
}
